package com.podium.web.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.podium.web.system.entity.SysRole;

import java.util.List;

/**
 * @author 邵文泽
 * @description 角色表
 * @date Tue Apr 29 08:39:29 CST 2025
 */
public interface SysRoleService {

    /**
     * 分页查询
     *
     * @param page          分页对象
     * @param sysRole  角色表信息
     * @return 角色表列表
     */
    IPage<SysRole> page(Page<SysRole> page, SysRole sysRole);

    /**
     * 查询列表
     *
     * @param sysRole  角色表信息
     * @return 角色表列表
     */
    List<SysRole> list(SysRole sysRole);

    /**
     * 根据id查询角色表信息
     *
     * @param id 角色表信息ID
     * @return SysRole
     */
    SysRole getById(Long id);

    /**
     * 保存角色表信息
     *
     * @param sysRole 角色表信息
     * @return 是否保存成功
     */
    boolean save(SysRole sysRole);

    /**
     * 根据id更新角色表信息
     *
     * @param sysRole 角色表信息
     * @return 是否更新成功
     */
    boolean updateById(SysRole sysRole);

    /**
     * 根据id删除角色表信息
     *
     * @param id 标识
     */
    void removeById(Long id);

    /**
     * 根据id列表查询角色表信息
     *
     * @param roleIds 角色表信息ID列表
     * @return 角色表列表
     */
    List<SysRole> listByIds(List<Long> roleIds);
}
